一部のゲームでは、ゲームの状態を頻繁に保存します。ブロックチェーンを利用する場合、これにはコストがかかり、遅延も発生します。本ガイドでは、ユーザー体験や運用コストを損なわずにこれらの制約を回避する方法を解説します。
TransactionQueuer
およびその継承クラスを活用するのがおすすめです。TransactionQueuer
は高い柔軟性があり、プレイヤーが頻繁に状態を変更するゲームの開発をサポートするために設計されています。例えば、ゲーム内でコインなどの低額取引を大量に集める場合、PermissionedMinterTransactionQueuer
(mint
関数に権限が必要な場合、デフォルトでサーバーからミントする場合)や、SequenceWalletTransactionQueuer
(誰でもミントできる場合)を利用できます。これらを使えば、複数の取引をキューに追加するだけで、可能であれば自動的にまとめてくれます(例:‘mint(amount: 5, tokenId: 11)‘と’mint(amount: 3, tokenId: 11)‘が’mint(amount: 8, tokenId: 11)‘にまとめられる)。取引はx秒ごと、または関数呼び出し時に送信できます。また、最短でもy秒ごと(高額取引の場合は上書き可能)といった設定も可能です。TransactionQueuer
の詳細はこちらのドキュメントをご覧ください。
最後に、取引の失敗を検知し、適切にエラー処理を行う必要があります。